package com.winit.schedule.core.localstore;

import java.util.List;

import com.winit.schedule.core.exception.LocalStoreException;

public interface LocalStore {

    public String getPath();

    public void open() throws LocalStoreException;

    public void put(String key, Object value) throws LocalStoreException;

    public void delete(String key) throws LocalStoreException;

    public void delete(List<String> keys) throws LocalStoreException;

    public <T> List<KVPair<String, T>> fetchTop(int size, Class<T> type) throws LocalStoreException;

    public void close() throws LocalStoreException;

    public void destroy() throws LocalStoreException;
}
